Perjalanan menuju kernel berkinerja tinggi dimulai dengan beralih dari berbasis operasi pemrograman (PyTorch Eager) ke yang memperhatikan perangkat keras pemrograman. Triton berperan sebagai jembatan krusial dalam jalur ini.
1. Menentukan Tata Letak
Triton adalah bahasa dan kompiler untuk pemrograman paralel, dirancang agar mudah menulis kernel komputasi khusus berkinerja tinggi dengan sintaks Python. Triton menempati posisi tengah yang unik:
- PyTorch Eager: Abstraksi tinggi, mudah digunakan, tetapi kendali terhadap pemanfaatan perangkat keras terbatas.
- CUDA C++: Kendali maksimal, tetapi kompleksitas tinggi (manajemen memori bersama dan sinkronisasi secara manual).
- Triton: Sintaks Pythonik dengan tingkat blok (dengan pembagian blok) kendali.
2. Paradigma Pembagian Blok
Berbeda dengan CUDA, yang beroperasi pada tingkat thread, Triton menggunakan pendekatan berbasis blok (dengan pembagian blok) model pemrograman. Hal ini sangat relevan untuk pembelajaran mendalam di mana data (matriks, peta perhatian) secara alami disusun dalam blok.
3. Kesalahan Kinerja
Kesalahpahaman umum adalah mengira Triton hanya "PyTorch yang lebih cepat." Faktanya, ini adalah paradigma terpisah. Peningkatan kinerja datang dari kemampuan pengembang untuk menghilangkan hambatan (seperti "Dinding Memori") dengan menggabungkan operasi agar data tetap di SRAM internal yang cepat.